# Материалы летней школы

Основной репозиторий на Github: https://github.com/HowProgrammingWorks

- Начало летней школы по Node.js в КПИ
  - [Объявление на Meetup](http://www.meetup.com/KievNodeJS/events/233058960/)
  - [Расписание](https://github.com/HowProgrammingWorks/Letters/blob/master/KPI-2016-Summer/Meetings.md) и [Статья на Хабре](https://habrahabr.ru/post/307332/)
- Лекция №1 Введение в технологию Node.js
  - [Meetup](http://www.meetup.com/KievNodeJS/events/233195325/)
  - [Слайды с вводной лекции](https://github.com/HowProgrammingWorks/Letters/blob/master/KPI-2016-Summer/01-NodeJs-Platform-Basics.pdf)
- Лекция №2 Синтаксис JavaScript (хороший стиль кода и новшества в языке)
  - [Объявление на Meetup](http://www.meetup.com/KievNodeJS/events/233195396/)
  - [Презентация](https://github.com/HowProgrammingWorks/Letters/blob/master/KPI-2016-Summer/02-JavaScript-New-Features.md)
- Лекция №3 Парадигмы программирования в JavaScript и Node.js
  - [Объявление на Meetup](http://www.meetup.com/KievNodeJS/events/233195433/)
  - [Генераторы](https://github.com/HowProgrammingWorks/Generators)
    - [Презентация](https://github.com/HowProgrammingWorks/Letters/blob/master/KPI-2016-Summer/03-JavaScript-Generators.pdf)
    - [Примеры](https://github.com/HowProgrammingWorks/Generators)
  - [Монады, примеры кода](https://github.com/DzyubSpirit/Monads-in-Javascript)
  - [Письмо с материалами после лекции](http://www.meetup.com/KievNodeJS/messages/boards/thread/50053526)
- Лекция №4 Песочницы, инверсия управления, внедрение зависимостей Node.js
  - [Объявление на Meetup](http://www.meetup.com/KievNodeJS/events/233195513/)
  - [Песочницы / Sandboxes](https://github.com/HowProgrammingWorks/InversionOfControl/tree/master/sandboxedModule)
  - [Обертки / Wrappers](https://github.com/HowProgrammingWorks/InversionOfControl/tree/master/interfaceWrapper)
  - [Внедрение зависимостей / Dependency injection](https://github.com/HowProgrammingWorks/InversionOfControl/tree/master/dependencyInjection/ru)
- Лекция №5 Асинхронное программирование на Node.js
  - [Объявление на Meetup](http://www.meetup.com/KievNodeJS/events/233195696/)
  - [Концептуальные примеры и задания](https://github.com/HowProgrammingWorks/AsynchronousProgramming)
  - [Практические примеры](https://github.com/DzyubSpirit/Asynchronous-Javascript)
- Лекция №6 Промисы, генераторы, async, metasync
  - [Объявление на Meetup](http://www.meetup.com/KievNodeJS/events/233195731/)
  - [Библиотека MetaSync](https://github.com/metarhia/MetaSync)
  - [Примеры кода по промисам](https://github.com/HowProgrammingWorks/Promises)
- Лекция №7 Метапрограммирование на Node.js
  - [Объявление на Meetup](http://www.meetup.com/KievNodeJS/events/233195745/)
  - [Слайды с конференции](http://www.slideshare.net/tshemsedinov/javascript-36636872)
  - [Статья на Хабре](https://habrahabr.ru/post/227753/)
  - [Примеры кода](https://github.com/HowProgrammingWorks/Metaprogramming)
- Лекция №8 Сервера для ветхого веба, HTTP на Node.js
  - [Объявление на Meetup](http://www.meetup.com/KievNodeJS/events/233195763/)
  - [Классический сервер из документации](https://github.com/HowProgrammingWorks/NodeServer/tree/master/native-classic)
  - [Простой сервер с разделением слоев абстракции](https://github.com/HowProgrammingWorks/NodeServer/tree/master/native-simple)
  - [Сервер с масками маршрутов](https://github.com/HowProgrammingWorks/NodeServer/tree/master/native-advanced)
  - [Сервер с кластеризацией](https://github.com/HowProgrammingWorks/NodeServer/tree/master/native-cluster)
  - [Пример плохого и хорошего стиля обработки запросов](https://github.com/HowProgrammingWorks/AbstractionLayers)
- Лекция №9 Интерактивные приложения, пример чата, WS, TCP, JSTP
  - [Объявление на Meetup](http://www.meetup.com/KievNodeJS/events/233195790/)
  - [Пример чата на вебсокетах](https://github.com/HowProgrammingWorks/WebsocketChat)
  - [Статья на Хабре](https://habrahabr.ru/post/306584/)
  - Доклады на [OdessaJS'2016](http://odessajs.org/)
    - [Тимур Шемсединов "Node.js Macht Frei"](https://www.youtube.com/watch?v=926UKzrVrqk)
    - [Алексей Орленко "Об оверхеде, который вас убивает"](https://www.youtube.com/watch?v=LYqhH2Rk-K4)
  - Metarhia на Github:
    - [Impress Application Server](https://github.com/metarhia/Impress)
    - [JavaScript Transfer Protocol](https://github.com/metarhia/JSTP) реализация в Impress [/lib/api.jstp.js] (https://github.com/metarhia/Impress/blob/master/lib/api.jstp.js)
- Лекция №10 Межпроцессовое взаимодействие и масштабирование
  - [Объявление на Meetup](http://www.meetup.com/KievNodeJS/events/233195809/)
  - [Примеры кода](https://github.com/HowProgrammingWorks/InterProcessCommunication)
  - [Пример реализации протокола поверх TCP](https://github.com/metarhia/Impress/blob/master/lib/api.jstp.js)
- Лекция №11 Пример реализации многопольз. электронных таблиц
  - [Объявление на Meetup](http://www.meetup.com/KievNodeJS/events/233195834/)
  - [Репозиторий с примерами и заданием](https://github.com/HowProgrammingWorks/EventDrivenProgramming)
    - [EventEmitter](https://github.com/HowProgrammingWorks/EventDrivenProgramming/tree/master/EventEmitter)
    - [Живые таблицы](https://github.com/HowProgrammingWorks/EventDrivenProgramming/tree/master/LiveTable)
